//
//  AppDelegate.swift
//  微博
//
//  Created by 陈明光 on 2019/11/5.
//  Copyright © 2019 陈明光. All rights reserved.
//

import UIKit
import UserNotifications
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        
        //取得用户授权显示通知（上方的提示条/声音/BAdgeNumber）
        UNUserNotificationCenter.current().requestAuthorization(options: [.alert , .badge , .carPlay , .sound]) { (success, error) in
            print("授权 " + (success ? "成功" : "失败"))
        }
        
        
        //设置启动界面
        window = UIWindow()
        window?.backgroundColor = UIColor.white
        window?.rootViewController = MGMainViewController()
        //设置可见
        window?.makeKeyAndVisible()
        
        loadAppInfo()
        
        return true
    }
}

//MARK: - 从服务器加载应用程序信息
extension AppDelegate{
    private func loadAppInfo(){
        //模拟异步
        DispatchQueue.global().async {
            //1.url
            let url = Bundle.main.url(forResource: "main.json", withExtension: nil)
            
            //2.data
            let data = NSData(contentsOf: url!)
            
            //3.写入磁盘
            let docDir = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
            let jsonPath = (docDir as NSString).appendingPathComponent("main.json")
            
            //直接保存在沙盒，等待下一次程序启动使用
            data?.write(toFile: jsonPath, atomically: true)
            
            print("应用程序加载完毕 \(jsonPath)")
        }
    }
}
